<div class="easyui-layout" data-options="fit:true,border:false" style="margin: 15px 0px 0px 15px">
    <div data-options="region:'center',border:false" style="overflow: hidden;">
        <table id="menu_tg"></table>
    </div>
</div>
<div id="menu_bar" style="display: none;">
    #hasPermission("menu:add")
        <a href="#" onclick="addMenu()" class="easyui-linkbutton" data-options="iconCls:'fa fa-plus'">添加</a>
    #end
</div>
<script>
    var menu_tg;
    $(function () {
        menu_tg = $('#menu_tg').treegrid({
            url: '#(ctx)/admin/roleMenu/menuList',
            idField: 'id',
            treeField: 'text',
            rownumbers: true,
            parentField: 'pid',
            fit: true,
            fitColumns: true,
            border: false,
            frozenColumns: [[{
                title: '编号',
                field: 'id',
                hidden:true,
                width: 40
            }]],
            columns: [[{
                field: 'text',
                title: '菜单名称',
                width: 150
            }, {
                field: 'attributes',
                title: '菜单路径',
                width: 200,
                formatter: function (value, row, index) {
                    return value.url;
                }
            }, {
                field: 'sort',
                title: '排序',
                width: 40,
            }, {
                field: 'permission',
                title: '权限标志',
                width: 100,
            }, {
                field: 'type',
                title: '资源类型',
                width: 80,
                formatter: function (value, row, index) {
                    switch (value) {
                        case "0":
                            return '菜单';
                        case "1":
                            return '按钮';
                    }
                }
            }, {
                field: 'parentId',
                title: '上级资源ID',
                width: 150,
                hidden: true
            }, {
                field: 'status',
                title: '状态',
                width: 40,
                formatter: function (value, row, index) {
                    switch (value) {
                        case "0":
                            return '正常';
                        case "9":
                            return '停用';
                    }
                }
            }, {
                field: 'action',
                title: '操作',
                width: 130,
                formatter: function (value, row, index) {
                    var str = '';
                    #hasPermission("menu:del")
                        str += $.formatString('<a onclick="delMenu({0})" class="fa fa-remove">删除</a>', row.id);
                    #end
                    return str;
                }
            }]],
            toolbar: '#menu_bar'
        });
    });

    function delMenu(id) {
        if (id != undefined) {
            menu_tg.treegrid('select', id);
        }
        var node = menu_tg.treegrid('getSelected');
        if (node) {
            parent.$.messager.confirm('询问', '您是否要删除当前资源？删除当前资源会连同子资源一起删除!', function (b) {
                if (b) {
                    progressLoad();
                    $.post('#(ctx)/admin/roleMenu/delMenu', {
                        id: node.id
                    }, function (response) {
                        if (response.result) {
                            parent.$.messager.alert('提示', response.msg, 'info');
                            menu_tg.treegrid('reload');
                        }
                        progressClose();
                    }, 'JSON');
                }
            });
        }
    }

    function addMenu() {
        parent.$.modalDialog({
            title: '添加菜单',
            width: 500,
            height: 280,
            href: '#(ctx)/admin/roleMenu/menuAddPage',
            buttons: [{
                text: '添加',
                handler: function () {
                    parent.$.modalDialog.openner_treeGrid = menu_tg;//因为添加成功之后，需要刷新这个treeGrid，所以先预定义好
                    var f = parent.$.modalDialog.handler.find('#menuAddForm');
                    f.submit();
                    return;
                }
            }]
        });
    }
</script>